const crypto = require('crypto')

exports.main = async (event, context) => {
	const { username, password } = event
	
	try {
		console.log('管理员登录尝试:', { username })
		
		// 输入验证
		if (!username || !password) {
			return {
				success: false,
				message: '用户名和密码不能为空'
			}
		}
		
		// 简单的管理员账户验证
		// 在实际项目中，这些信息应该存储在数据库中并进行加密
		const adminAccounts = [
			{
				username: 'admin',
				password: 'admin123', // 实际项目中应该使用加密密码
				name: '系统管理员',
				role: 'super_admin'
			},
			{
				username: 'manager',
				password: 'manager123',
				name: '管理员',
				role: 'admin'
			}
		]
		
		// 查找匹配的管理员账户
		const admin = adminAccounts.find(acc => 
			acc.username === username && acc.password === password
		)
		
		if (!admin) {
			return {
				success: false,
				message: '用户名或密码错误'
			}
		}
		
		// 生成简单的token（实际项目中应该使用JWT）
		const token = crypto.randomBytes(32).toString('hex')
		
		// 返回登录成功信息
		return {
			success: true,
			message: '登录成功',
			data: {
				token: token,
				userInfo: {
					username: admin.username,
					name: admin.name,
					role: admin.role,
					loginTime: new Date().toISOString()
				}
			}
		}
		
	} catch (error) {
		console.error('管理员登录失败:', error)
		return {
			success: false,
			message: '登录服务异常，请稍后重试'
		}
	}
}
